package day6.pet;

import day7.Mouse;

/**
 * @author oldliu
 * @since 1.0
 */
public class Dog extends Pet {
    private String strain;
    //初始化名字等属性
    public Dog(String name,int h,int l,String sex,String strain){
        //>>>super(name,h,l,sex);
        super.setName(name);
        super.name=name;//有错;换成protected，正确
        setHealth(h);
        setLove(l);
        setSex(sex);
        this.strain=strain;
        System.out.println("狗 的5个参数的构造方法");
    }

    public Dog(String s){
        strain=s;
    }
    //重写：重新定义父类中的方法。。。
    //不允许子类重写
    public final void print() {
        System.out.println("这是一只宠物狗，类别是"+this.strain);
        super.print();
    }

    public void grap(Mouse m){
        System.out.println(this.name+"吃掉了"+m.getName());
        m.setHealth(0);//老鼠挂了
    }

    @Override
    public boolean equals(Object obj) {
        //>>>this和obj做比较
        //转换成比较两个对象的name，如果name一样，则认为对象一样
        //1:obj转换成Dog对象
        if(obj instanceof Dog==false){
            return false;//
        }
        Dog d=(Dog)obj;
        //2:比较他们的name属性
        return this.name.equals(d.getName());
    }
}
